   1              		.syntax unified
   2              		.cpu cortex-m3
   3              		.fpu softvfp
   4              		.eabi_attribute 20, 1
   5              		.eabi_attribute 21, 1
   6              		.eabi_attribute 23, 3
   7              		.eabi_attribute 24, 1
   8              		.eabi_attribute 25, 1
   9              		.eabi_attribute 26, 1
  10              		.eabi_attribute 30, 4
  11              		.eabi_attribute 34, 1
  12              		.eabi_attribute 18, 4
  13              		.thumb
  14              		.syntax unified
  15              		.file	"main.c"
  16              		.text
  17              	.Ltext0:
  18              		.cfi_sections	.debug_frame
  19              		.section	.text.showVicError,"ax",%progbits
  20              		.align	1
  21              		.thumb
  22              		.thumb_func
  24              	showVicError:
  25              	.LFB0:
  26              		.file 1 "main.c"
   1:main.c        **** #include "vic.h"
   2:main.c        **** #include "app.h"
   3:main.c        **** #include "uart0_irq.h"
   4:main.c        **** 
   5:main.c        **** static void showVicError(int n) {
  27              		.loc 1 5 0
  28              		.cfi_startproc
  29              		@ Volatile: function does not return.
  30              		@ args = 0, pretend = 0, frame = 0
  31              		@ frame_needed = 0, uses_anonymous_args = 0
  32              	.LVL0:
  33 0000 2DE98848 		push	{r3, r7, fp, lr}
  34              	.LCFI0:
  35              		.cfi_def_cfa_offset 16
  36              		.cfi_offset 3, -16
  37              		.cfi_offset 7, -12
  38              		.cfi_offset 11, -8
  39              		.cfi_offset 14, -4
   6:main.c        **** 	irq_Disable();
  40              		.loc 1 6 0
  41              		.syntax unified
  42              	@ 6 "main.c" 1
  43 0004 72B6     		cpsid i
  44              	@ 0 "" 2
  45              		.thumb
  46              		.syntax unified
  47 0006 0A28     		cmp	r0, #10
  48 0008 A8BF     		it	ge
  49 000a 0A20     		movge	r0, #10
  50              	.LVL1:
  51 000c 0446     		mov	r4, r0
   7:main.c        **** 
   8:main.c        **** 	static int x;
   9:main.c        **** 	if (n>10) n=10;
  10:main.c        **** 	while(1) {
  11:main.c        **** 		for (x=0;x<n;x++) {
  52              		.loc 1 11 0
  53 000e 144D     		ldr	r5, .L7
  12:main.c        **** 			ledERROR_On();	buzzer_On();	delay_ms(250);
  54              		.loc 1 12 0
  55 0010 DFF85C90 		ldr	r9, .L7+16
  11:main.c        **** 			ledERROR_On();	buzzer_On();	delay_ms(250);
  56              		.loc 1 11 0
  57 0014 4FF00008 		mov	r8, #0
  58              	.LVL2:
  59              	.L4:
  60 0018 DFF844A0 		ldr	r10, .L7
  61              		.loc 1 12 0
  62 001c DFF854B0 		ldr	fp, .L7+20
  11:main.c        **** 			ledERROR_On();	buzzer_On();	delay_ms(250);
  63              		.loc 1 11 0
  64 0020 C5F80080 		str	r8, [r5]
  65              	.L2:
  11:main.c        **** 			ledERROR_On();	buzzer_On();	delay_ms(250);
  66              		.loc 1 11 0 is_stmt 0 discriminator 1
  67 0024 DAF80030 		ldr	r3, [r10]
  68 0028 9C42     		cmp	r4, r3
  69 002a 15DD     		ble	.L6
  70              		.loc 1 12 0 is_stmt 1 discriminator 3
  71 002c 4FF00057 		mov	r7, #536870912
  72 0030 4FF0C046 		mov	r6, #1610612736
  73 0034 C9F80070 		str	r7, [r9]
  74 0038 0A48     		ldr	r0, .L7+4
  75 003a CBF80060 		str	r6, [fp]
  76 003e FFF7FEFF 		bl	delay
  77              	.LVL3:
  13:main.c        **** 			ledERROR_Off();	buzzer_Off();	delay_ms(250);
  78              		.loc 1 13 0 discriminator 3
  79 0042 094B     		ldr	r3, .L7+8
  80 0044 0748     		ldr	r0, .L7+4
  81 0046 1F60     		str	r7, [r3]
  82 0048 43F8806C 		str	r6, [r3, #-128]
  83 004c FFF7FEFF 		bl	delay
  84              	.LVL4:
  11:main.c        **** 			ledERROR_On();	buzzer_On();	delay_ms(250);
  85              		.loc 1 11 0 discriminator 3
  86 0050 2B68     		ldr	r3, [r5]
  87 0052 0133     		adds	r3, r3, #1
  88 0054 2B60     		str	r3, [r5]
  89 0056 E5E7     		b	.L2
  90              	.L6:
  14:main.c        **** 		}
  15:main.c        **** 		delay_ms(1000);
  91              		.loc 1 15 0
  92 0058 0448     		ldr	r0, .L7+12
  93 005a FFF7FEFF 		bl	delay
  94              	.LVL5:
  16:main.c        **** 	}
  95              		.loc 1 16 0
  96 005e DBE7     		b	.L4
  97              	.L8:
  98              		.align	2
  99              	.L7:
 100 0060 00000000 		.word	.LANCHOR0
 101 0064 C8267F00 		.word	8333000
 102 0068 9CC00920 		.word	537510044
 103 006c 089FFC01 		.word	33333000
 104 0070 98C00920 		.word	537510040
 105 0074 18C00920 		.word	537509912
 106              		.cfi_endproc
 107              	.LFE0:
 109              		.section	.text.startup.main,"ax",%progbits
 110              		.align	1
 111              		.global	main
 112              		.thumb
 113              		.thumb_func
 115              	main:
 116              	.LFB1:
  17:main.c        **** }
  18:main.c        **** 
  19:main.c        **** int main(void) {
 117              		.loc 1 19 0
 118              		.cfi_startproc
 119              		@ Volatile: function does not return.
 120              		@ args = 0, pretend = 0, frame = 0
 121              		@ frame_needed = 0, uses_anonymous_args = 0
 122 0000 08B5     		push	{r3, lr}
 123              	.LCFI1:
 124              		.cfi_def_cfa_offset 8
 125              		.cfi_offset 3, -8
 126              		.cfi_offset 14, -4
  20:main.c        **** 	nvic_SetIntHandler(showVicError);
 127              		.loc 1 20 0
 128 0002 2F48     		ldr	r0, .L11
 129 0004 FFF7FEFF 		bl	nvic_SetIntHandler
 130              	.LVL6:
  21:main.c        **** 
  22:main.c        **** 	// NÃO USAR UART COM INTERRUPÇÃO PARA O LOG, POIS CONSTANTEMENTE A
  23:main.c        ****   	// POSIÇÃO DOS VETORES DE INTERRUPÇÕES COM O USO DO BOOTLOADER
  24:main.c        **** 
  25:main.c        ****   	// REGISTRANDO AS ENTRADAS E SAÍDAS PADRÃO AOS SEUS RESPECTIVOS DISPOSTIVOS
  26:main.c        **** 	// PORTA PARA CLI DEVE SER COM INTERRUPÇÃO
  27:main.c        ****   	lgetchar_RegisterDev(uart0_GetChar);
 131              		.loc 1 27 0
 132 0008 2E48     		ldr	r0, .L11+4
 133 000a FFF7FEFF 		bl	lgetchar_RegisterDev
 134              	.LVL7:
  28:main.c        **** 	lputchar_RegisterDev(uart0_PutChar);
 135              		.loc 1 28 0
 136 000e 2E48     		ldr	r0, .L11+8
 137 0010 FFF7FEFF 		bl	lputchar_RegisterDev
 138              	.LVL8:
  29:main.c        **** 	ldebug_RegisterDev(uart0_BasicPutChar);
 139              		.loc 1 29 0
 140 0014 2D48     		ldr	r0, .L11+12
 141 0016 FFF7FEFF 		bl	ldebug_RegisterDev
 142              	.LVL9:
  30:main.c        **** 	uart0_Init(115200);
 143              		.loc 1 30 0
 144 001a 4FF4E130 		mov	r0, #115200
 145 001e FFF7FEFF 		bl	uart0_Init
 146              	.LVL10:
  31:main.c        **** 
  32:main.c        **** 	relay_Init();
 147              		.loc 1 32 0
 148 0022 FFF7FEFF 		bl	relay_Init
 149              	.LVL11:
  33:main.c        **** 	led1_Init();
 150              		.loc 1 33 0
 151 0026 2A4B     		ldr	r3, .L11+16
  34:main.c        **** 	led2_Init();
  35:main.c        **** 	led3_Init();
  36:main.c        **** 	led4_Init();
  37:main.c        **** 	led5_Init();
  38:main.c        **** 	led6_Init();
  39:main.c        **** 
  40:main.c        **** 	ssp1_Init(SSP1_MASTER, SSP1_STANDARD); // inicar o barramento SPI a 400Khz
 152              		.loc 1 40 0
 153 0028 0721     		movs	r1, #7
  33:main.c        **** 	led1_Init();
 154              		.loc 1 33 0
 155 002a 1A68     		ldr	r2, [r3]
 156              		.loc 1 40 0
 157 002c 0020     		movs	r0, #0
  33:main.c        **** 	led1_Init();
 158              		.loc 1 33 0
 159 002e 42F00102 		orr	r2, r2, #1
 160 0032 1A60     		str	r2, [r3]
  34:main.c        **** 	led2_Init();
 161              		.loc 1 34 0
 162 0034 1A68     		ldr	r2, [r3]
 163 0036 42F00202 		orr	r2, r2, #2
 164 003a 1A60     		str	r2, [r3]
  35:main.c        **** 	led4_Init();
 165              		.loc 1 35 0
 166 003c 53F8202C 		ldr	r2, [r3, #-32]
 167 0040 42F08052 		orr	r2, r2, #268435456
 168 0044 43F8202C 		str	r2, [r3, #-32]
  36:main.c        **** 	led5_Init();
 169              		.loc 1 36 0
 170 0048 53F8202C 		ldr	r2, [r3, #-32]
 171 004c 42F00052 		orr	r2, r2, #536870912
 172 0050 43F8202C 		str	r2, [r3, #-32]
  37:main.c        **** 	led6_Init();
 173              		.loc 1 37 0
 174 0054 53F8202C 		ldr	r2, [r3, #-32]
 175 0058 42F08062 		orr	r2, r2, #67108864
 176 005c 43F8202C 		str	r2, [r3, #-32]
  38:main.c        **** 
 177              		.loc 1 38 0
 178 0060 53F8202C 		ldr	r2, [r3, #-32]
 179 0064 42F00072 		orr	r2, r2, #33554432
 180 0068 43F8202C 		str	r2, [r3, #-32]
 181              		.loc 1 40 0
 182 006c FFF7FEFF 		bl	ssp1_Init
 183              	.LVL12:
  41:main.c        **** 	systime_Init();
 184              		.loc 1 41 0
 185 0070 FFF7FEFF 		bl	systime_Init
 186              	.LVL13:
  42:main.c        **** 	systime_SetIntHandler(app_Tick, 1); // Chamar o a função callsystem a cada 1ms OBS: Levando em con
 187              		.loc 1 42 0
 188 0074 0121     		movs	r1, #1
 189 0076 1748     		ldr	r0, .L11+20
 190 0078 FFF7FEFF 		bl	systime_SetIntHandler
 191              	.LVL14:
  43:main.c        **** 	ledError_Init();
 192              		.loc 1 43 0
 193 007c FFF7FEFF 		bl	ledError_Init
 194              	.LVL15:
  44:main.c        **** 	rtc_Init();
 195              		.loc 1 44 0
 196 0080 FFF7FEFF 		bl	rtc_Init
 197              	.LVL16:
  45:main.c        **** 	beep_Init();
 198              		.loc 1 45 0
 199 0084 FFF7FEFF 		bl	beep_Init
 200              	.LVL17:
  46:main.c        **** 	gKey_Init(onKeyDown, &onKeyPress, &onKeyUp);	// Anexar os eventos do teclado
 201              		.loc 1 46 0
 202 0088 134A     		ldr	r2, .L11+24
 203 008a 1449     		ldr	r1, .L11+28
 204 008c 1448     		ldr	r0, .L11+32
 205 008e FFF7FEFF 		bl	gKey_Init
 206              	.LVL18:
  47:main.c        **** 
  48:main.c        **** 	ee25xx_Init();
 207              		.loc 1 48 0
 208 0092 FFF7FEFF 		bl	ee25xx_Init
 209              	.LVL19:
  49:main.c        **** 	irq_Enable(); 	// Habilitar interrupções
 210              		.loc 1 49 0
 211              		.syntax unified
 212              	@ 49 "main.c" 1
 213 0096 62B6     		cpsie i
 214              	@ 0 "" 2
  50:main.c        **** 	app_Init();
 215              		.loc 1 50 0
 216              		.thumb
 217              		.syntax unified
 218 0098 FFF7FEFF 		bl	app_Init
 219              	.LVL20:
  51:main.c        **** 
  52:main.c        **** 	lprintf(PROGAM_NAME);
 220              		.loc 1 52 0
 221 009c 1149     		ldr	r1, .L11+36
 222 009e 0120     		movs	r0, #1
 223 00a0 FFF7FEFF 		bl	rprintf
 224              	.LVL21:
  53:main.c        **** 	lprintf("ucLibc version "__VERSION CMD_TERMINATOR);
 225              		.loc 1 53 0
 226 00a4 1049     		ldr	r1, .L11+40
 227 00a6 0120     		movs	r0, #1
 228 00a8 FFF7FEFF 		bl	rprintf
 229              	.LVL22:
  54:main.c        **** 
  55:main.c        **** 	while (1) {
  56:main.c        **** 		prompt_Process();
  57:main.c        **** 		app_Process();
  58:main.c        **** 		gKey_Process(control.key); // se há tecla pressiona o processo vai chamar os onKeyXXXX
 230              		.loc 1 58 0
 231 00ac 0F4C     		ldr	r4, .L11+44
 232              	.L10:
  56:main.c        **** 		app_Process();
 233              		.loc 1 56 0 discriminator 1
 234 00ae FFF7FEFF 		bl	prompt_Process
 235              	.LVL23:
  57:main.c        **** 		gKey_Process(control.key); // se há tecla pressiona o processo vai chamar os onKeyXXXX
 236              		.loc 1 57 0 discriminator 1
 237 00b2 FFF7FEFF 		bl	app_Process
 238              	.LVL24:
 239              		.loc 1 58 0 discriminator 1
 240 00b6 2079     		ldrb	r0, [r4, #4]	@ zero_extendqisi2
 241 00b8 FFF7FEFF 		bl	gKey_Process
 242              	.LVL25:
 243 00bc F7E7     		b	.L10
 244              	.L12:
 245 00be 00BF     		.align	2
 246              	.L11:
 247 00c0 00000000 		.word	showVicError
 248 00c4 00000000 		.word	uart0_GetChar
 249 00c8 00000000 		.word	uart0_PutChar
 250 00cc 00000000 		.word	uart0_BasicPutChar
 251 00d0 40C00920 		.word	537509952
 252 00d4 00000000 		.word	app_Tick
 253 00d8 00000000 		.word	onKeyUp
 254 00dc 00000000 		.word	onKeyPress
 255 00e0 00000000 		.word	onKeyDown
 256 00e4 00000000 		.word	.LC0
 257 00e8 40000000 		.word	.LC1
 258 00ec 00000000 		.word	control
 259              		.cfi_endproc
 260              	.LFE1:
 262              		.comm	control,32,4
 263              		.section	.rodata.str1.1,"aMS",%progbits,1
 264              	.LC0:
 265 0000 6578616D 		.ascii	"examples hr01 firmware v1.1 [compiled in Nov 13 201"
 265      706C6573 
 265      20687230 
 265      31206669 
 265      726D7761 
 266 0033 37203039 		.ascii	"7 09:28:40]\012\000"
 266      3A32383A 
 266      34305D0A 
 266      00
 267              	.LC1:
 268 0040 75634C69 		.ascii	"ucLibc version 2.8\012\000"
 268      62632076 
 268      65727369 
 268      6F6E2032 
 268      2E380A00 
 269              		.section	.bss.x.4909,"aw",%nobits
 270              		.align	2
 271              		.set	.LANCHOR0,. + 0
 274              	x.4909:
 275 0000 00000000 		.space	4
 276              		.text
 277              	.Letext0:
 278              		.file 2 "uc_libc_dev/_libdef/uc_libdefs.h"
 279              		.file 3 "uc_libc_dev/_arch/arm_lpc/timer/rtc.h"
 280              		.file 4 "app.h"
 281              		.file 5 "uc_libc_dev/_arch/arm_lpc/timer/delay.h"
 282              		.file 6 "uc_libc_dev/_arch/arm_lpc/common/vic_cortexm3.h"
 283              		.file 7 "uc_libc_dev/stdio/stdio_uc.h"
 284              		.file 8 "uc_libc_dev/_arch/arm_lpc/uart/uart0_irq.h"
 285              		.file 9 "uc_libc_dev/_arch/arm_lpc/spi/ssp1.h"
 286              		.file 10 "uc_libc_dev/_arch/arm_lpc/timer/systick.h"
 287              		.file 11 "uc_libc_dev/misc/led_error.h"
 288              		.file 12 "uc_libc_dev/sound/beep/beep.h"
 289              		.file 13 "uc_libc_dev/keyboard/gkey.h"
 290              		.file 14 "uc_libc_dev/midia/spi_ee25xx.h"
DEFINED SYMBOLS
                            *ABS*:00000000 main.c
D:\_temp\_windows\ccq6wH3s.s:20     .text.showVicError:00000000 $t
D:\_temp\_windows\ccq6wH3s.s:24     .text.showVicError:00000000 showVicError
D:\_temp\_windows\ccq6wH3s.s:100    .text.showVicError:00000060 $d
D:\_temp\_windows\ccq6wH3s.s:110    .text.startup.main:00000000 $t
D:\_temp\_windows\ccq6wH3s.s:115    .text.startup.main:00000000 main
D:\_temp\_windows\ccq6wH3s.s:247    .text.startup.main:000000c0 $d
                            *COM*:00000020 control
D:\_temp\_windows\ccq6wH3s.s:270    .bss.x.4909:00000000 $d
D:\_temp\_windows\ccq6wH3s.s:274    .bss.x.4909:00000000 x.4909
                     .debug_frame:00000010 $d

UNDEFINED SYMBOLS
delay
nvic_SetIntHandler
lgetchar_RegisterDev
lputchar_RegisterDev
ldebug_RegisterDev
uart0_Init
relay_Init
ssp1_Init
systime_Init
systime_SetIntHandler
ledError_Init
rtc_Init
beep_Init
gKey_Init
ee25xx_Init
app_Init
rprintf
prompt_Process
app_Process
gKey_Process
uart0_GetChar
uart0_PutChar
uart0_BasicPutChar
app_Tick
onKeyUp
onKeyPress
onKeyDown
